perm filename NSF.FOO[DOC,TOB] blob sn#051538 filedate 1973-06-26 generic text, type T, neo UTF8
00100			ABSTRACT
00200	
00300	
00400	The Stanford Artificial Intelligence Laboratory proposes to undertake
00500	a program in advanced automation over a period of one year at a  cost
00600	of  $200,000.   This  proposal  is  to  continue  and extend programs
00700	sponsored under ARPA Contract SD-183.
00800	
00900	The laboratory proposes a one  year  investigation  in  the  area  of
01000	computer  integrated  assembly  systems.   This  project  unites  two
01100	dominant  forces  in  industrial  automation:    computerization   of
01200	manufacturing  and  programmable assembly automation.  The laboratory
01300	brings to the project experience in robotics research and an existing
01400	robot  system  which  has  performed a simple assembly task and which
01500	integrates simple touch and force  sensing,  and  rudimentary  visual
01600	skills.
01700	
01800	This one year proposal is intended to be part of a three or four year
01900	"proof of concept"  effort.   The  first  year  will  be  devoted  to
02000	extending  our  capabilities,  demonstrating  them  to  industry  and
02100	establishing collaboration with industrial firms.   This  information
02200	will be used to shape the larger effort.
02300	
02400	Extensive  industrial  and  governmental  consultation has shaped the
02500	proposal.  Several industrial needs have  emerged  from  studies  now
02600	underway.   One  is  a  widespread  desire  of  major  industries for
02700	programmable automation.  Another is  the  desire  to  cut  costs  by
02800	better  overall  organization  and understanding of the manufacturing
02900	process, using computers as a tool for organization and information.
03000	
03100	The proposed project would: a) extend the capability of our  existing
03200	robotic system by investigating the use of two arms in typical tasks,
03300	by improving  touch  and  force  sensing  techniques  and  developing
03400	necessary software in carrying out assembly tasks. b) demonstrate the
03500	utility of the  assembly  system  by  performing  assembly  tasks  of
03600	moderate  complication  and  demonstrate  that  the  system  could be
03700	replicated at acceptable cost to industry by completing a stand-alone
03800	system  on  a  minicomputer.  c)  attack  the  problem of interfacing
03900	programmable  assembly  devices  to  a  computer-aided  manufacturing
04000	system  and  the  problem  of programming general purpose devices for
04100	assembly tasks.  We will implement an example of an interactive robot
04200	programming  system  which  will  be  an  exercise  for  design of an
04300	APT-like programming system for assembly devices.
04400	
04500	
     

00100	I. THE NEED FOR ADVANCED AUTOMATION
00200	
00300	
00400	The contributions  that  advanced  automation  can  make  to  enhance
00500	productivity  in  manufacturing  are now widely appreciated.  Current
00600	interest in advanced  computer-oriented  automation  stems  from  two
00700	sources.   The  first  is the decreasing cost of computation combined
00800	with an improved understanding of how to apply computation to various
00900	aspects  of  manufacturing.  The second cause is the realization that
01000	many  current  manufacturing  operations,  primarily   assembly   and
01100	inspection,  will  require  complex  automation methods which are now
01200	research techniques. The same considerations apply to the  automation
01300	of  tasks such as laboratory and medical procedures, but the emphasis
01400	has been (as ours will be) on manufacturing. A recent  ARPA-sponsored
01500	study [Anderson 1972] in which we participated suggests the following
01600	major benefits from advanced automation:
01700		improved national productivity
01800		reduced prices
01900		increased product quality and uniformity
02000		customization of products
02100		increased  job  satisfaction.
02150	We would like to add just one comment. As we  have  seen  with  other
02250	technological  developments such as numerical-controlled tools, there
02350	will be things made which were previously impractical to make.  There
02450	is  widespread  agreement in the technical, industrial and government
02550	communities on the potential benefits of advanced automation.   There
02650	is  much  less  agreement  on  the  level of sophistication needed in
02750	automation hardware and software. While there are  large  application
02850	areas  in  which  specially  constructed  machines  or simple general
02950	purpose  devices  will  prove  optimal,  we  believe  that  the  most
03050	practical  solution for intermediate quantities (500 to 100,000) will
03150	be  to  develop  general  purpose  assembly  and  inspection  devices
03250	controlled by sophisticated programs in digital computers.
03400	
03500	These  conclusions  are supported by our consultation with industrial
03600	management who have manufacturing  responsibilities.  Programmibility
03700	is  necessary even in the automobile industry which has large volume,
03800	but essentially custom assembles each car.  This has been  repeatedly
03900	emphasized in workshops.
04000	
04100	Another  conclusion is that the process of improving the organization
04200	of  manufacturing  can  make   heavy   use   of   computer   systems.
04300	Computer-aided  design  is  already  in  heavy  use  in semiconductor
04400	industries, and making a beginning in  other  industries.   Inventory
04500	and parts tracking are important facilities in the aircraft industry.
04600	Direct numerical  control  of  several  N/C  machines  by  a  central
04700	computer  is  also extensively used. Some effort has been directed in
04800	Europe towards  the  "group  technology"  approach  of  Opits,  which
04900	attempts  to  emphasize  commonality  by  using parts descriptions to
05000	group  items  which   are   alike.    Evolution   of   computer-aided
05100	manufacturing  depends  on  integrating these facilities and bringing
05200	more facilities under effective control.
05300	
05400	These  two  systems,  programmable  automation   and   computer-aided
05500	manufacturing interact in a beneficial way.  An important part of the
05600	development process for programmable automation is the development of
05700	programming systems which actually program assembly devices.  Part of
05800	that can be done by "learning by doing".   However,  many  operations
05900	are  only  small  modifications  of  other  operations, so that it is
06000	desirable to be able  to  modify  the  assembly  program  instead  of
06100	reprogramming   entirely.    It   would  appear  that  most  assembly
06200	operations could be strung together  from  modifications  of  modules
06300	from  a  library  of standard assembly subroutines like inserting and
06400	screwing.  Inspection combined with assembly (which is made necessary
06500	for  quality  control  and  because  of  the  implicit  inspection in
06600	assembly operations) and error and contingency conditions lead to  an
06700	assembly control structure like a conventional computer program.
06800	
06900	The central computer will have parts designs and assembly operations.
07000	Why should these not  be  used  to  supply  information  to  assembly
07100	subroutines?   And should the designer have a system which allows him
07200	to design for automatic assembly by interacting with the system which
07300	programs  the  actual  assembly  device?  That would provide a useful
07400	experimental system for cost and design automation,  in  addition  to
07500	shifting  some  of  the  responsibility  for  programming of assembly
07600	devices  from  production  employees  to  professional   staff   with
07700	technical  sophistication.   We  emphasize  the  separation  into  an
07800	assembly system  which  could  operate  stand-alone,  but  is  better
07900	interfaced  with a central computer system, and the robot programming
08000	system which depends on more facilities but is used infrequently when
08100	jobs are changed.
08200	
08300	There  is  one  further  concept  in  common  among  presentations of
08400	automation. Automation must be incremental.   This  is  supported  by
08500	numerous  considerations: invested capital in existing plants, design
08600	costs  for  conversion,  and  the  necessity  for   a   sequence   of
08700	understandable and predictably profitable steps along the path.
08800	
08900	We contend that inserting programmable assembly devices incrementally
09000	into  existing  factories  or  new   factories   with   only   slight
09100	modifications,  demands  more  from  the programmable device.  We see
09200	this process at work as industrial robots of the Unimate class slowly
09300	develop  more facilities. The simple robot described in the ISI study
09400	[Anderson] does not exist yet; it must still be  proven  feasible  by
09500	demonstration.   We  outline  below  some  arguments  about  cost and
09600	productivity factors which follow from programmable assembly.   These
09700	arguments   follow  from  compatibility  with  current  manufacturing
09800	design, from economies of scale, and from commonality of  technology,
09900	and  from  desires  for  quality of product and predictability of the
10000	process.  Several  studies  have  indicated  some  priorities   among
10100	directions  of  automation.  The  ISI study [Anderson] indicates that
10200	less than 20%  of  discrete  manufacturing  is  amenable  to  special
10300	purpose  automation.  A Chrysler Corporation study indicates that car
10400	assembly labor has  first  priority  in  automation;  assembly  plant
10500	direct  labor is 40% of direct corporate labor.  The ISI study quotes
10600	a  figure  of  75%  as  the  fraction  of  batch  produced   discrete
10700	manufactures.  One  conclusion  is  that "the emphasis in development
10800	should be on simple vision devices and on low-bandwidth  tactile  and
10900	force  sensing  feedback".  That  study  indicates  that the assembly
11000	process typically accounts for 50 percent of production cost.
11100	
11200	We assume that present manipulators have a small but  stable  market,
11300	and  that  most  will  have minicomputers soon (Sundstrand does now).
11400	Will the incremental cost of  touch,  force  and  visual  sensors  be
11500	offset  by  the  opening  of  new  capabilities, and will the cost be
11600	offset by reduced cost of system  design  for  machines  which  allow
11700	loose  alignment tolerances? We estimate that touch and force sensing
11800	will add about 5% to the price of current manipulators of the Unimate
11900	class.    We  estimate  that  by 1977, the incremental cost of visual
12000	sensors, a laser ranging device such as  we  use  now,and  additional
12100	memory  requirements,  will  add about 15%-20% to current manipulator
12200	prices. If labor costs continue to rise, part of the increase will be
12300	offset,  but  cost  comparisons will not change appreciably over that
12400	time scale unless significant new mechanical designs  are  made.    A
12500	conclusion is that sensor-equipped robots will be available at slight
12600	additional  cost.  We  will  discuss  the  benefits  of   incremental
12700	improvements to manipulators.
12800	
12900	We  do not expect mechanical production costs to drop as dramatically
13000	as electronics costs fall with integration. The most  promising  cost
13100	reduction  development would be high-production standard modules such
13200	as robots.  As an example, consider the  Stanford  arm;  produced  in
13300	unit   quantity,   parts,   manufacturing   and  assembly  costs  are
13400	approximately $10K. The arm is much simpler than an automobile; there
13500	is  no  reason why it should cost more. A smaller, more recent design
13600	costs $3500 each in quantities of two.
13700	
13800	At what cost are robots economically viable?  This varies enormously;
13900	if  they  are  serving a large and expensive machine, the cost can be
14000	relatively high. Unimation now projects labor  costs  at  $22,000  to
14100	$24,000  per  man year averaged over the next 10 years, and assumes a
14200	payoff of 2 years for a projected acceptable cost level of $46,000. A
14300	robot  with  two  arms, minicomputer control, force and touch sensors
14400	could be constructed for under $10K in quantities  of  1000  now.  To
14500	summarize: two arms (new small Scheinman design) $2000 with hand; arm
14600	drivers and arm interface electronics $1000; force  and  touch  $800;
14700	small  computer  8k  memory  $4500;  total  $8300.  Assuming that the
14800	computer price falls to $1200 by 1978, this will at least  compensate
14900	for  inflation.   Of  course,  these are small arms, suited for parts
15000	assembly, not automotive body assembly.   The larger  arms,  assuming
15100	slight  redesign  for  cost, would cost about $2500 in units of 1000,
15200	for a total system cost (not price) of $12300. This is the  range  of
15300	price  of present transfer machines which have limited market because
15400	they have limited motion, no control, and are thus locked out of  the
15500	economy of scale. There is a dynamic which leads to economy of scale;
15600	the  greater  the  versatility,  the  wider   is   the   market   for
15700	applications.  This will be true particularly in small production and
15800	job shop operations which  have  been  difficult  to  automate.   The
15900	larger the production, the more versatility for the same initial cost
16000	as special devices.   Also,  with  high  volume,  standardization  of
16100	maintenance,  and availability of parts and service are improved. The
16200	quality of the device is also improved.
16300	
16400	The economies of scale in production of assembly modules are  matched
16500	by  economies  of  intellectual  scale  in  development of design for
16600	automation.     The  design  process  is   modularized   and   easily
16700	communicable;  there  is  a  common  discipline  which  can be widely
16800	absorbed; developments of many sources can be integrated. Programming
16900	and  training  done  once  for  one machine can be transferred to all
17000	machines in a plant,  and  even  transferred  nationwide.  Functional
17100	modularity  has been emphasized in our studies. Modularity is clearly
17200	possible and there is  a  powerful  economic  incentive  to  assemble
17300	widely varying systems from one, two, or three arm modules, force and
17400	touch  modules,  vision  and  ranging  modules,  with  planning   and
17500	monitoring  modules.  This would also entail software modularity with
17600	computer-aided mechanical design and job specification for robots  on
17700	a local or network time-sharing service.
17800	
17900	The  alternative is special design for each operation. We expect that
18000	at some point, design will be cheaper  with  standard  robot  modules
18100	than  with special purpose designs, just as it is now more economical
18200	to use mini-computer controllers than  special  purpose  controllers.
18300	Modularity  has  the  potential  to  reduce  design  time and improve
18400	predictability of design time and costs, permitting  better  planning
18500	and  response  to  competition.   To  some  extent,  the  dehumanized
18600	industrial worker now fills the role of standard module, so  that  we
18700	do  not  expect  discontinuous change. The continuity with decades of
18800	experience with design for  human  versatility  in  assembly  can  be
18900	relied  upon;  robots  with  some  versatility,  sensing, contingency
19000	actions, and dexterity will provide a  transition  to  newer  schemes
19100	which  will  evolve more slowly. Another advantage of general purpose
19200	techniques is the ease with which the size of the robot can be scaled
19300	up or down. There appears to be no difficulty in making very large or
19400	very small assembly stations which use essentially the same programs.
19500	
19600	Versatile assembly devices have an  efficiency  advantage  in  medium
19700	scale  and  job  shop production; their utilization efficiency can be
19800	higher because versatility allows  a  variety  of  operations  to  be
19900	scheduled  at  one  station.    The  availability  of  computers  for
20000	production scheduling will  allow  the  flexibility  to  be  used  to
20100	advantage.  Robots would also have longer life over which to amortize
20200	costs, since they could  function  with  greatly  changed  production
20300	operations,  and evolve with new hardware and software modules.  They
20400	would have higher reliability,  since  they  would  have  monitoring,
20500	contingency  action, and error recovery. They would be self-aligning,
20600	self-calibrating, and self-testing.
20700	
20800	With simple devices,  inspection  and  assembly  operations  must  be
20900	broken  down  into small operations with transfer operations between.
21000	This introduces extra transfer devices with orientation-preserving or
21100	re-orienting  steps, and overlapping operations which can be combined
21200	in an advanced device. The extra cost of jigs and  fixtures,  and  of
21300	stopping   assembly  lines  adds  to  the  cost  of  special  purpose
21400	automation.  Robots can  cut  down  on  real  estate,  since  several
21500	operations can be done at one station.
21600	
21700	Because  of the adaptibility of work stations, production runs can be
21800	smaller, with less capital tied up in inventory and unused  machines.
21900	There can be better response to the needs of high technology industry
22000	which often requires small quantities.   There has been difficulty in
22100	meeting   the   tight   tolerances   necessary   for   operation   of
22200	non-intelligent devices.  It is hard to estimate the value of systems
22300	which work within current industrial tolerance, rather than requiring
22400	radical improvements in engineering  practice,  but  that  continuity
22500	does seem important.
22600	
22700	Serious issues arise in the development of robots with simple sensory
22800	systems. Some evaluation issues should be settled  by  demonstration,
22900	since much sharper analyses can be made this way.
23000	
23100	There  is  already  a significant degree of industrial involvement in
23200	computer-aided assembly.  GM Research Lab has  demonstrated  a  wheel
23300	mounting  operation  using  visual  alignment.  IBM has a small robot
23400	project.  Hitachi has demonstrated a robot with touch  and  a  system
23500	with visual identification of objects on a conveyor belt, with visual
23600	control of manipulation.  Can  industry  be  expected  to  adequately
23700	support  this  development?   Development  of  primitive robots is an
23800	evolutionary process, not a single product development.  The area  is
23900	too  big;  the  payoffs  are  huge and the investment level is large.
24000	Also, traditionally, industry has been dependent  on  suppliers.  But
24100	with the exception of IBM, the suppliers are smaller and less able to
24200	risk  the  development.   Management  techniques  require  inordinate
24300	return  on  capital. An alternative support could come again from the
24400	military. The ARPA study and  the  history  of  numerical  controlled
24500	machine   tools   are  natural  consequences  of  the  vast  military
24600	procurement in technologically advanced products. In the case of N/C,
24700	funds could be diverted from an outmoded technology to development of
24800	devices which were essential to production plans for the future.   It
24900	is    high   technology   products   which   are   most   competitive
25000	internationally in the civilian economy.  The  record  of  government
25100	investment  in numerical control, solid state electronics, computers,
25200	and electro-optical devices has been  very  productive.  However,  in
25300	large  scale  development  of  civilian  products  and  international
25400	markets, foreign governments have taken the lead.  The development of
25500	general  purpose  assembly  devices  will  benefit manufacturers in a
25600	broad spectrum of industry, particularly medium scale  manufacturing.
25700	It  is  an  appropriate  area  for governmental action to help meet a
25800	national need.
25900	
26000	Given sensor-equipped  robots  at  little  extra  cost  over  current
26100	senseless  robots,  they  will  have  visual  ability to sense color,
26200	strong contrasts in brightness,  recognize  known  objects  from  two
26300	dimensional outlines (top view of flat object) or three dimensionally
26400	using depth, to a certain extent they will be able to recognize three
26500	dimensional  objects  using monocular recognition.  They will be able
26600	to visually align  mating  parts  in  assembly  operations,  increase
26700	reliability by self- calibration and flaw and disaster detection, and
26800	permit large tolerances in parts transfer, even permitting  parts  to
26900	be  taken  from  a  bin.    Several  of  these  abilities are not yet
27000	available in the laboratory, but with known conditions  and  objects,
27100	and  some  engineering (e.g.  color coding) are achievable within the
27200	time span of the proposed project.
27300	
27400	The major determinant of the economic impact of assembly robots  will
27500	be  the  extent  of their capabilities. Assessing and extending these
27600	capabilities is the principal goal of the proposed project.
27700	
     

00100	II. RESEARCH PLAN
00200	
00300		A. THE PILOT ASSEMBLY STATION
00400	
00500	A basic goal of the proposed project is to extend our existing  robot
00600	system,  to  specialize on assembly tasks, and meanwhile, to transfer
00700	the system to a standard minicomputer, in order  to  demonstrate  its
00800	applicability  to  real  problems.  The  project will be considered a
00900	success if it has major impact on an industrial assembly system or or
01000	if  an  enterprise  chooses  to  manufacture  and  market the general
01100	purpose station.
01200	
01300	Our current robot system has one arm of our design,  two  TV  cameras
01400	and  a  laser  ranging system.  A variety of vision modules have been
01500	standardized, and a hand language (HAL) has  been  used  for  several
01600	tasks  [Paul].   A demonstration of the robot's capabilities has been
01700	made by assembling a water pump, using vision, touch and a tool.
01800	
01900	We  propose  to  extend  that  system  by:  a)  doing  more  assembly
02000	experiments  to  guide  research  in developing the hand language and
02100	manipulation techniques. b) design and  implement  visual  operations
02200	especially for assembly, which would not be programmed in our general
02300	vision effort, again using assembly experiments to guide research. c)
02400	adding a second arm which is nearly completed, and improved touch and
02500	force sensing; extending the hand language  to  two  arm  operations.
02600	demonstrate  practical  speed  and  dexterity  with two arms and tool
02700	using. d) after some progress with b, implementing a  language  which
02800	combines  vision  with  the  hand  language.  show the commonality of
02900	operations among similar assembly tasks.
03000	
03100	Simultaneously, we would transfer our robot system to a  minicomputer
03200	which  we are acquiring.  One benefit of this transfer is for our own
03300	research.  Another is that we can show the relevance of our  research
03400	to systems which are cost effective for industrial applications.  Yet
03500	another is that we can transfer our research results more directly to
03600	industrial  observers  and  industrial  laboratories.  In many cases,
03700	this can be direct  transfer,  since  we  have  the  beginning  of  a
03800	robotics user's group sharing the same minicomputer (GM research lab,
03900	3M research lab, JPL, and Artificial Intelligence lab,  MIT).   Also,
04000	our  hand  language, arm control and arm trajectory planning software
04100	are suitable for a variety of arms, including the Unimate.
04200	
04300	The result of this effort is a small system we call a pilot  assembly
04400	station,  based  on  a minicomputer.  Two related projects complement
04500	this proposed project.  These projects at SRI  and  MIT,  Draper  Lab
04600	have industrial participation to work with commercial manipulators of
04700	a type already in  use  in  factories  (Unimate).   They  propose  to
04800	develop systems which perform simple two dimensional inspection tasks
04900	and systems for manipulation at about our current level of dexterity.
05000	With  their  industrial participation, and a commercial device, their
05100	impact may be short term.  Our project is longer term in  that  while
05200	we  have  those accomplishments in manipulation and assembly, we work
05300	with equipment which is not a commercial product, so that  there  may
05400	be  a delay in converting our techniques to a commercial manipulation
05500	system, or marketing  our  manipulator.     Finally,  we  are  aiming
05600	toward  a  higher level of evolution, something like the simple robot
05700	described in the ISI report [Anderson].
05800	
05900	In one configuration, the assembly station is assumed to be connected
06000	to  a  large time-shared computer facility. Not only does this appear
06100	to be a good design for our problem, but it is also necessary for  an
06200	integrated  programmed  automation  facility.   The  only  emphasized
06300	statement in the ARPA study report [Anderson 1972] is:  "The  maximum
06400	impact  of  computers  in  manufacturing  will  come  from  complete,
06500	real-time computer  cognizance  and  control  of  all  processes  and
06600	resources,  allowing  the  precise scheduling and allocation of these
06700	resources."
06800	
06900	Each assembly station will consist of a small digital  computer,  one
07000	or  more  manipulators  and cameras. Manipulators and cameras will be
07100	combined as modules in systems to suit a  given  task,  and  will  be
07200	digitally  controlled  by the station computer.  The station computer
07300	may be connected to a central computer or may stand alone. The latter
07400	configuration  is  less  efficient  in  the  long run, but allows for
07500	incremental automation.
07600	
07700	The program in the station computer will be flexible as to the number
07800	and  position of manipulators and cameras. It will control input from
07900	the cameras, provide for some pre-processing of the picture  and  the
08000	application  of  simple  tests  to  the visual data.   In the case of
08100	manipulators it will provide for simultaneous servo control. It  will
08200	also  process  other  inputs,  such  as  from  touch  sensors  on the
08300	manipulators, photocell interrupt devices, limit switches, etc.  Both
08400	analog  and binary outputs will be available for the control of other
08500	devices.
08600	
08700	Each station computer will have access to a task  program  specifying
08800	the  actions and tests it should perform to carry out its task.  This
08900	task program will be compiled by the  central  computer.  Compilation
09000	will  consist of the analysis of predicted scenes in order to specify
09100	simple tests that the station computer can carry out, the calculation
09200	of  collision free trajectories for the manipulators, the sequence of
09300	operations and simple contingency plans. etc.  We  are  planning  for
09400	tasks   whose  normal  execution  does  not  require  detailed  scene
09500	analysis.  If scene analysis becomes necessary (e.g. a dropped  part)
09600	we  envision the station sending an image to the central computer for
09700	processing.
09800	
09900	The central computer will perform overall control of  the  individual
10000	assembly  stations  and  the relative rates of production.  If at any
10100	station a planned test fails, for which a contingency plan  does  not
10200	exist,  or  any  unexpected  sensor signals are received, the central
10300	computer will also be interrupted and appropriate actions  taken.  If
10400	the  assembly  station  is not connected to a central computer, these
10500	operations will require human intervention.
10600	
10700	
10800	Most  of  the  hardware  required  for  the assembly station has been
10900	developed for the laboratory.   The major additional  problem  is  to
11000	refine  the  existing  designs  to  meet the demands of an industrial
11100	environment.
11200	
11300	We are now acquiring a small computer, a PDP-11, and  will  interface
11400	the existing arms to it together with one or more cameras. A software
11500	package for the small computer will then be  developed  in  order  to
11600	control  the  manipulators,  read  the  TV cameras and to perform low
11700	level visual analysis. Programs to plan tasks, calibrate  the  system
11800	and  to  perform  higher  level  visual  analysis, error recovery and
11900	strategy planning will be written in a high level  language  for  the
12000	time-sharing processor.
12100	
12200	The most difficult part of the assembly station, and the heart of the
12300	project is a demonstration of the feasibility of the station. We plan
12400	to do this by developing programs which actually assemble and inspect
12500	a variety of fairly complex manufactured items.
12600	
12700	Our first task was assembly of an  automobile  water  pump.   A  film
12800	shows  the  process in detail.  The assembly consists of four sets of
12900	operations: Visually locating the pump body to move  it  to  standard
13000	position;   inserting  guide  pins  and  the  gasket,  then  visually
13100	verifying that the gasket is in place; picking up the pump  head  (at
13200	an approximate standard position) and placing it over the guide pins;
13300	using a tool to pick up screws from a  feeder  and  insert  them,  by
13400	searching near the hole if necessary.  Tools, vision, touch and force
13500	feedback were used. The assembly was at  approximately  human  speed,
13600	but not as fast as a practiced worker.  The reliability is relatively
13700	high.  Assembly was programmed in the hand  language,  with  a  small
13800	program, in terms of macros like "insert a screw".  Visual operations
13900	were special case programs.  A major part of the development  of  the
14000	pump  assembly  was  implementing  tools  and  finding  manufacturing
14100	engineering techniques.  Speed and reliability  in  repetitive  tasks
14200	could  be  increased  by  using  errors  found in searching to insert
14300	screws to update target positions for screw insertion, etc., so  that
14400	these operations were almost always immediately successful.
14500	
14600	As  we move to more difficult tasks, the sophistication required goes
14700	up quite rapidly.  The  current  manipulation  routines  seem  to  be
14800	expandable  to cover anticipated problems, especially since we intend
14900	to employ special purpose manipulators (tools)  for  some  tasks.   A
15000	major  part  of  our  effort will be vision for assembly; an assembly
15100	task will be performed using vision,  touch,  and  two  hands.    The
15200	vision  effort  will be integrated with other abilities, and while no
15300	great generality will be stressed, new modules will  be  incorporated
15400	into  the  system,  and  a  set of techniques will evolve. These will
15500	depend heavily on techniques similar to those of our  recent  studies
15600	in  visual  feedback  and  hand/eye  coordination  [Gill  1972].  The
15700	internal model of the world will be used to predict visual appearance
15800	of  selected areas of the scene, and a set of verification procedures
15900	will confirm or contradict the predictions. Many  of  the  operations
16000	will  be  connected  with  supplying  feedback  to  manipulation, for
16100	alignment and insertion. These visual procedures will have models for
16200	the parts and approximate locations.
16300	
16400	This and other visual tasks connected with assembly will initially be
16500	performed as special case  problems.   In  addition,  to  make  these
16600	techniques   available,   we  will  pursue  development  of  strategy
16700	programs. This step is essential if intelligent assembly devices  are
16800	to  be conveniently programmed for complex tasks. Within the division
16900	of labor between large and small machines, this facility  resides  in
17000	the  central  time-sharing  facility  which  has  large  memory, file
17100	storage, and problem-solving languages. The system must have a  model
17200	of  the  parts  for  assembly,and  a  sequence  of  instructions  for
17300	assembly. It will be necessary to have a representation of shape  and
17400	models for usual assembly operations such as insertion and alignment,
17500	and the ability to solve simple problems  in  connection  with  these
17600	operations,  all  this  to  enable  convenient communication with the
17700	user. When these facilities exist, the addition of new  features  and
17800	operations  can be incorporated smoothly, so that users can call on a
17900	growing library of planning modules. The result of a planning  effort
18000	is  a  cycle  of  machine  planning and man-machine interaction which
18100	results in a plan  network  for  the  mini  computer  which  controls
18200	individual machines.
18300	
     

00100	PROGRAMMING ASSEMBLY DEVICES AND INTERFACING WITH THE CENTRAL FACTORY
00200	SYSTEM
00300	
00400	
00500	The second part of the proposed project is to design and implement an
00600	initial version of an interactive  system  for  programming  assembly
00700	devices and interfacing with a central factory computer system.
00800	
00900	The  most  obvious  form  of  programming  robots is that in use with
01000	current industrial robots, "learning by doing".  The robot is led  to
01100	end  points  of  a trajectory or along a path by an operator.  We are
01200	able to do  that  already;  positions  for  the  pump  assembly  were
01300	specified  in just that way.  The process could be improved by better
01400	teleoperator control, for example the resolved rate control system at
01500	MIT.
01600	
01700	Those  techniques  are  quite  limited, however.  They are limited to
01800	tasks  with  positional  control  only.   Where  force   control   is
01900	necessary,  the  control  program  must  know  in what way to control
02000	forces, i.e. what forces  to  exert  or  null  along  what  direction
02100	vector.   For  example,  in  inserting  a rod into a hole, transverse
02200	forces should be nulled.  Such tasks require specifying a  trajectory
02300	with  additional  symbolic  force  control  information.    Since arm
02400	control will be primarily based on minicomputers in  new  designs,  a
02500	natural  mode  to  accomplish  this partially symbolic programming is
02600	with an interactive program, which can be small.
02700	
02800	For any task involving a sequence of such operations, the interactive
02900	system  allows  the  operator to choose from a menu of operations and
03000	proceed step by step to assemble a sequence of these operations which
03100	have  been  verified.  Checking the success of these operations could
03200	use simulation if necessary to avoid tying up a  production  machine.
03300	Useful  modules  like  inserting  a screw would be saved as macros so
03400	that  subsequent  programming  sessions  would  be  much  simplified,
03500	dealing with combinations of such high level modules.  The macros can
03600	have arguments, so that one basic operation can be used in a  variety
03700	of   situations,   and   further,   our   software  allows  modifying
03800	trajectories  so  that  a  planned  trajectory  allows   considerable
03900	variation  in  execution, without replanning.  We have built and used
04000	such an interactive system for the hand.
04100	
04200	Current  work  is  involved  with  extending  the  hand  progrmamming
04300	language  to  include  more than one arm. Problems of synchronization
04400	and coordinated motion will be provided for.
04500	
04600	Later this work will become the output language for  a  higher  level
04700	processor,  in  which tasks such as inserting testing and mating will
04800	be expressible in a simple and direct manner.
04900	
05000	As visual feedback is included, the human operator must  be  able  to
05100	interact  with  the  visual system through a graphics console.  These
05200	are becoming inexpensive, but it is a  resources  shared  among  many
05300	assembly  stations.   Unlike the hand language, no interactive visual
05400	system exists. We must emphasize that development of the language  is
05500	not  primarily  a  language  effort, nor is it a statistical learning
05600	system.  Rather, we plan that it resemble  the  hand  language,  i.e.
05700	embedding  the  useful  set  of  visual  operators  in  a  convenient
05800	interactive system.  During the  early  stages  of  the  effort,  the
05900	language  will  be  at  a  low  level,  with macros, much as the hand
06000	language is now.  That early emphasis will be  on  building  a  trial
06100	system based on a lot of experiments done as special cases.  This can
06200	be regarded as an extended learning by doing.  Meanwhile, our present
06300	efforts  on representation of objects will evolve to a state at which
06400	the modelling of objects is integrated with our graphics capabilities
06500	to  begin to automate some of the programming of feedback operations,
06600	that is to allow programming at a higher level. It is at  this  level
06700	that a non-technical worker might accomplsh the programming of visual
06800	feedback tasks.
06900	
07000	We will meanwhile work on development  of  strategies  for  assembly.
07100	The  goal  is  to  produce  a  language  at  about  the  level  of an
07200	instruction manual:  put the cover (part a) on the opening of part b.
07300	At  such  a  level,  the system begins to be applicable to design for
07400	automation.  The designer can use the system to simulate the assembly
07500	process and modify designs which are marginal for automatic assembly.
07600	He will have an assembly program as part  of  the  design.   Thus,  a
07700	large  part  of  programming  for  assembly  may  in  fact be done by
07800	designers.
07900	
08000	Several factors may decrease the burden  of  programming  robots  for
08100	production line personnel:
08200		libraries of operations-fastening, inserting, etc.
08300	
08400		interactive systems which do bookkeeping and
08500		prompt the human operator- an extended sort
08600		of learning by doing
08700	
08800		programming by designers.
08900	
09000	The process of building the APT-like language for assembly should  be
09100	based on design, not on just random accretion, and should be based on
09200	computer  science  inputs,  to  avoid  forseeable   and   unnecessary
09300	limitations  on  syntax  and implementation.  It should be based on a
09400	wider perspective than just one industry or the market strategy of  a
09500	dominant computer company.  With APT, the language was developed with
09600	air frames in mind,  and  has  been  clumsy  in  other  applications.
09700	Further,  the  development  should  be based on extensive experience,
09800	which can be obtained  sooner  in  a  research  environment  where  a
09900	variety of tasks and skills can be investigated.
10000	
     

00100		B.  RESEARCH IN VISION
00200	
00300	Research in computer vision has progressed so that the larger part of
00400	our effort is directed toward vision in real scenes. We outline  past
00500	research,  including  work  on visual feedback, development of useful
00600	modules, analysis of some outdoor scenes,  interpretation  of  scenes
00700	with curved objects, and a study of sensor systems.
00800	
00900	Our  past  work on visual feedback [Gill 1972] in stacking blocks and
01000	inserting objects  in  holes  is  directly  relevant  to  vision  for
01100	assembly.   The  issues  involved  are:   coordinating  hand and eye,
01200	utilizing incremental accuracy of vision and  manipulation,  accurate
01300	prediction  to  limit  search,  and  limiting accumulation of errors.
01400	Visual guidance in picking  up  objects  and  stacking  or  inserting
01500	objects  overcomes  errors  in the visual and arm coordinate systems,
01600	and errors in correspondence between the two coordinate systems. This
01700	was  done under realistic conditions, with the hand still holding the
01800	object and in view; the system predicts the appearance of  edges  and
01900	corners  within  a  small  window around the edges to be aligned, and
02000	uses a corner/edge finder to determine alignment error. The arm makes
02100	accurate  incremental  error  correction.  If predictions can be made
02200	accurately, the search window can be small, which increases the speed
02300	of  response  and decreases possibility of confusion with other areas
02400	of the scene. A major limitation to accuracy of  prediction  (and  to
02500	long-term  reliability  in  the  industrial  environment) is drift of
02600	calibration.   That  work  incorporates   calibration   updating   by
02700	self-calibration  to  coordinate  hand and eye coordinate systems and
02800	provide for reliability, as well as to  limit  search  by  accurately
02900	predicting  expected  features. Visual feedback with stereo vision is
03000	much more powerful than without; we have demonstrated  stereo  visual
03100	feedback in a program [Binford unpublished].
03200	
03300	We  have  a  set of visual modules to be used in a goal-directed way.
03400	These modules  answer  questions  which  arise  in  practical  visual
03500	feedback  tasks,  and  in analysis of outdoor scenes. Are there color
03600	edges in a selected window? Are there edges in brightness?   What  is
03700	the  color  of  the  region  in the window? Several preliminary color
03800	region analysis programs have been developed  [Binford,  unpublished,
03900	Bajcsy  1972].   An  edge  operator [Hueckel 1969] and a region-based
04000	corner/edge finder [Gill 1972] both operate on small windows  of  the
04100	scene,  as  directed  by  a higher level. An edge verifier is used to
04200	confirm or reject edges  predicted  from  context  [Tenenbaum  1970].
04300	Color  identification has long been demonstrated. Recently, a program
04400	has been implemented [Thomas unpublished]  based  on  Land's  Retinex
04500	model  of  color  constancy in vision, which defines a color triangle
04600	from ordering  of  brightnesses.   The  center  of  the  triangle  is
04700	designated  as  white. The program shows a color constancy similar to
04800	humans; table top scenes are assigned colors reasonably well under  a
04900	variety  of  lighting  with different spectra: sunlight, flourescent,
05000	and incandescent.
05100	
05200	Understanding outdoor  scenes  is  a  more  complex  task  than  many
05300	industrial  visual  operations,  but  it  has  utility  for planetary
05400	exploration; it is also  a  useful  exercise  for  developing  color,
05500	texture, and stereo operations. Bajcsy analyzed outdoor scenes with a
05600	combination of color and texture region analysis [Bajcsy 1972]; depth
05700	cues  were taken from the gradient of texture. An attempt was made to
05800	obtain  consistent  interpretations  by  making   three   dimensional
05900	interpretations, and confirming boundaries by independent properties.
06000	Natural objects and natural scenes have been used for our  work  with
06100	motion    parallax    [Nevatia    in   draft]   and   stereo   vision
06200	[Quam,Hannah].These are complementary techniques of depth  perception
06300	which  are applicable for planetary exploration and industrial tasks.
06400	Motion  parallax  can  be  used  for  planning  of   navigation   and
06500	characterizing  large scale terrain features, since it provides large
06600	baselines.
06700	
06800	Another aspect  of  vision  with  direct  application  to  industrial
06900	environments  is  explored  in  our work with curved objects. Current
07000	programs use depth information to make useful descriptions of objects
07100	like  a  doll,  a toy horse, a snake, or a glove [Agin]. Programs can
07200	segment these objects into parts like legs, arms or fingers, and link
07300	these   parts   together  to  form  descriptions  of  entire  objects
07400	[Nevatia]. These operations are precursors to a recognition  process.
07500	The  work  depends on a new representation of shape [Binford 1971] in
07600	terms of volume components and a part/whole segmentation.   Primitive
07700	parts  are  described  by  an axis which is a space curve, and normal
07800	cross sections along the axis.  The  representation  is  based  on  a
07900	formalism,   "generalized   translational  invariance".    There  are
08000	significant theoretical reasons why this representation  leads  to  a
08100	natural choice of parts by simple procedures, in distinction to other
08200	suggested representations.   We  developed  a  laser  ranging  device
08300	[Binford  1970,Agin]  which  was  operational  two  years  ago. It is
08400	particularly interesting that the device adds a cost  of  only  about
08500	$400 to the cost of a visual system.
08600	
08700	A  study  of  visual  and  depth ranging sensors has been carried out
08800	which provides a background for choosing sensors and  interface,  and
08900	making   cost  estimates  [Binford  1972,  Earnest  1967].   We  have
09000	maintained a calibrated hand and  vision  system  for  several  years
09100	[Sobel 1970], and have developed self-calibration techniques with one
09200	and two eyes [Yakimovsky unpublished, Hannah 1972, Gill 1972].
09300	
09400	A system for understanding scenes of blocks  from  single  views  has
09500	been  implemented  [Falk  1970]; it segments objects, matches against
09600	internal  models,  predicts  appearance  from  its  assumptions,  and
09700	searches  for  verification  and contradiction based on the predicted
09800	image. Support and spatial relations are also  obtained.   There  has
09900	been  past  work  on  programs  to  obtain  line drawings as input to
10000	recognition systems. An earlier system was based on  limited  context
10100	of expecting continuation of edges at vertices and predicting missing
10200	edges in certain expected configurations [Grape 1970]. A more  recent
10300	approach has been to use models within the process of generating line
10400	drawings, so that the most efficient  next  guess  can  be  made  and
10500	context  used  intrinsically in the formation of line drawings [Grape
10600	1973].
10700	
10800	VISION FOR ASSEMBLY
10900	
11000	This is a key part of the proposed project. We  propose  to  evaluate
11100	and  implement  visual  facilities  required  by  a robot with simple
11200	vision, in conjunction with force and touch. These facilities must be
11300	modularized by working out several examples, and made fast enough and
11400	small enough to be practical for a minicomputer-based robot. We  have
11500	considerable  experience  with  such standardization, and with visual
11600	feedback techniques in the domain of blocks. We are now  at  work  on
11700	extending  visual  feedback techniques to typical assembly tasks.  We
11800	are also evaluating methods of automating visual  feedback.  We  have
11900	well-developed  systems  for modeling objects from the console and to
12000	predict their appearance  using  techniques  from  computer  graphics
12100	[Baumgart  1972a,b]. We can predict curved edges from our models.  We
12200	will use simple region analysis programs and edge operators to locate
12300	curved  edges  predicted  within  a  small  window.  Automated visual
12400	feedback  would  combine  with  evolving  strategy  programs  in   an
12500	interactive system.  We will maintain a calibrated system and improve
12600	calibration updating so that reliability  is  maintained  at  a  high
12700	level.
12800	
12900	We  have  developed a special case program for locating the pump body
13000	in the pump assembly and moving it to the standard location.  We  are
13100	at  work  on  several  other such tasks involved in the pump assembly
13200	which contain components of  general  utility  for  visual  feedback.
13300	These tasks are typical of the simple visual operations which we will
13400	implement or adapt.
13500	
13600	VISION RESEARCH
13700	
13800	While continuing research activities are not to be supported  by  the
13900	proposed project, in all likelihood, the research will suggest useful
14000	programs for the assembly system, particularly work in recognition of
14100	complex  objects  using  depth  data.   The computer now has symbolic
14200	internal models of objects.  We are now in a  position  to  recognize
14300	objects  such  as  a glove, a hammer, etc.   We will immediately deal
14400	with matching descriptions for recognition.  The important extensions
14500	we  wish  to  deal  with  are  occlusion and access to a large visual
14600	memory.   These will involve matching  of  partial  descriptions  and
14700	encoding  of  partial  descriptions  as  indices  to a small class of
14800	similar shapes, which can then be compared in more  detail.   We  are
14900	working toward making the hardware stable enough that it can maintain
15000	calibration, and software streamlined so that the  depth  measurement
15100	system  can be integrated with other hand/eye facilities.   We intend
15200	to apply large parts of our programs for description and  recognition
15300	of curved objects using only monocular intensity information. This is
15400	a much harder problem, but within our representation, shares much  of
15500	the  same  code,  and  relies  on  the same conceptual basis of local
15600	three-dimensional models.
15700	
15800	
15900	There  is  a  growing  effort  on  navigation  of vehicles in outdoor
16000	scenes.  While this  is  not  directly  relevant  to  the  industrial
16100	environment,  it  does  reflect  the  growing  involvement in complex
16200	visual tasks, and will lead to further development of  an  integrated
16300	visual  system.  One approach which has already given initial results
16400	[Yakimovsky] is to combine region growing with interpretation using a
16500	world  model.   Thus, regions are combined not simply on the basis of
16600	uniformity but because combining them improves the interpretation. At
16700	the same time, we will be combining more facilities into these visual
16800	systems, and more usable knowledge in the world model.
16900	
17000		C. MANIPULATOR DEVELOPMENT
17100	
17200	Manipulator research began at the  Stanford  Artificial  Intelligence
17300	Laboratory  in  1965  with  the acquisition of a Rancho Orthotic Arm.
17400	This arm was interfaced in such a way that the  computer  could  read
17500	the  joint  positions by means of potentiometers and drive the arm by
17600	means of a voltage, pulse rate modulated signal for each joint.   Two
17700	solution   programs  were  written:   one  to  give  the  rectangular
17800	coordinate position of the hand knowing the six joint angles, and one
17900	to  give  the  joint  angles  knowing  the desired x,y,z position and
18000	orientation of the hand. These programs were  then  combined  with  a
18100	servo program to move the hand.
18200	
18300	The  servo  program  represents  two  key  concepts of all subsequent
18400	manipulator research at this laboratory:  1)  To  provide  a  digital
18500	computer  with  all  sensory  inputs,  initially joint positions, but
18600	later velocity, force and touch measurements. 2) The utilization of a
18700	programable  digital  computer  to  take  the  sensory  inputs and to
18800	provide basic control output to the manipulator, in  our  case  joint
18900	torque.  Initially the sensory input of joint angles was to provide a
19000	position servo with a sampling rate of 60 cycles per second. The  arm
19100	control  has been changed many times since, a simple task in the case
19200	of a program, but difficult in the case of a hard wire servo  system.
19300	This system was used by Wichman, Pingle and Singer in 1968 to provide
19400	a program which could pick-up, sort and stack blocks, and in a  first
19500	attempt at visual feedback.
19600	
19700	At  this  time  Piper  considered  the kinematics of manipulators and
19800	developed a classification scheme for all  possible  arms  and  their
19900	analytic  solvability.   He  concluded  his  work  by  implementing a
20000	trajectory based collision avoiding program. Although slow, this work
20100	demonstrated the need for trajectory control of the arm.
20200	
20300	Kahn  followed Piper with a study of the dynamics of manipulators and
20400	developed a "bang-bang" servo for a new  hydraulic  arm.   This  arm,
20500	still  at  the  laboratory,  was  developed  as  a  high  performance
20600	manipulator.
20700	
20800	By 1970 a general purpose program capable of manipulating plane faced
20900	bodies  was implemented. This program was used in the initial version
21000	of the "Instant Insanity" program where all  possible  reorientations
21100	of the four colored cubes were required in the puzzle solution.
21200	
21300	Our  present arm, the result of a continuing design project, replaced
21400	the Rancho Arm in 1970. This arm, like its predecessor is  controlled
21500	by a digital servo program running under the time sharing system. The
21600	new arm was used in the "Instant Insanity" demonstration in 1971.
21700	
21800	As this arm is driven by electric motors through high efficiency gear
21900	reductions it is possible to predict the torque exerted at each joint
22000	in terms of drive level. Based on kinematic analysis it  is  possible
22100	to  calculate the joint torques necessary to produce a given force at
22200	the hand. Further, for the hand to  exhibit  degrees  of  freedom  of
22300	motion, various joints are selected to be "free," that is, to have no
22400	position feedback applied to them. By exerting a force  at  the  hand
22500	and providing that certain degrees of freedom exist it is possible to
22600	perform a much wider class of tasks than simple  positional  control,
22700	for  instance  screwing  in screws, mating parts, inserting tools and
22800	turning cranks.
22900	
23000	Positional  accuracy  at  the  hand  is  typically  0.1  inches  with
23100	repeatability  of 0.02 inches. Force control at the hand is within 10
23200	ounces. The data rate to run the arm from an assembled arm program is
23300	of the order of 100 bits/second.
23400	
23500	Touch  sensors on the fingers allow the hand to sense objects without
23600	disturbing them. When activated the arm will stop  when  any  of  the
23700	sensors  touch.  Branching arm instructions can test the state of the
23800	sensors and modify the execution of an arm program. When  screwing  a
23900	nut  onto  a  bolt, for instance, the hand is first centered over the
24000	bolt by touching it.
24100	
24200	A second arm of the same type,  with  only  minor  modifications,  is
24300	currently  being  interfaced  to the computer. Both arms will share a
24400	common work space and will  be  able  to  be  used  individually,  or
24500	together  for two-handed tasks. This should increase the scope of our
24600	manipulation work by some orders of magnitude. It may be possible for
24700	many assembly workers to work with their eyes closed but it would not
24800	be possible, in most cases, to work with only one arm.
24900	
25000	Control  of  the  arms  is  achieved  by  a  series  of  high   level
25100	instructions;  these instructions may be executed directly, or may be
25200	assembled together into an arm program.  Arm  programs  may  then  be
25300	executed,   as   desired,  by  the  control  program.    The  control
25400	instructions may be accessed directly by other  programs,  using  the
25500	message  procedure  mechanism,  or  in  the form of a symbolic source
25600	file.
25700	
25800	Manipulator research moves  ahead  simultaneously  on  three  fronts:
25900	control,  primitives  and  devices.   Tasks  are  translated  into an
26000	existing hand language and where the task cannot be  accomplished  in
26100	terms  of  existing  primitives,  new  primitives are formulated in a
26200	consistent manner. When a new  primitive  is  formulated,  real  time
26300	routines  are  developed  to  perform the action. This also leads, in
26400	many cases,  to  the  development  of  new  hardware.   Also  as  new
26500	developments  occur  in  hardware design, existing real time routines
26600	are either re-written or modified.
26700	
26800	Research is now concentrating on  the  following  areas:  To  provide
26900	strain gauge instrumentation of the wrist, in order to allow for more
27000	sensitive interaction of the hand with a  task.  The  development  of
27100	high  resolution, high sensitivity touch sensors, to increase tactile
27200	recognition and control abilities. These developments  will  lead  in
27300	turn to new control concepts.
27400	
27500	Development  of  tools  for the hand. These tools can be instrumented
27600	such that the computer can feel and or see at the end  of  the  tool.
27700	This  should  be  a very important area of research as it goes beyond
27800	present human capabilities.
27900	
28000	Two handed arm control, the planning and execution of tasks requiring
28100	the coordinated motion of both arms, will require an extension of the
28200	existing servo program and the analysis of synchronization  problems.
28300	The  development of collision avoiders, so that arms will not collide
28400	with other objects and with each other.
28500	
28600	Modification of  the  existing  arm  design  to  provide  for  better
28700	incremental motions, more degrees of freedom and a more rugged design
28800	suitable for industrial use. Development  of  arm  and  eye  computer
28900	interfaces.  These contain synchronized analog/digital converters for
29000	input and current controlled drivers for output.
29100	
29200	The development of new hands is expected as more  complex  tasks  are
29300	attempted.  At  present,  with only one hand, we have been performing
29400	the positioning type  of  hand  actions.   When  the  second  arm  is
29500	operational we will be able to perform holding and pulling actions as
29600	well.
29700	
29800	
29900		D.  SYSTEM REQUIREMENTS FOR ADVANCED AUTOMATION
30000	
30100	A  key  element in the development of any large programming effort is
30200	the software support.  There has been continual  effort  along  these
30300	lines  at  the  Stanford  Artificial Intelligence Laboratory and many
30400	useful ideas have been developed.  We propose to extend the  research
30500	along  two  separate lines:  support for research and system software
30600	for operating automated systems.  We will briefly describe  our  past
30700	efforts in this area and what we propose to undertake.
30800	
30900	The  Stanford  Artificial  Intelligence  Laboratory  has pioneered in
31000	several areas of system programming, including  timesharing  systems,
31100	interactive graphics, and programming languages.
31200	
31300	A  great  deal  of  additional effort has gone into direct support of
31400	hand-eye research.   Very early, we established  a  set  of  standard
31500	formats  and  library routines [Pingle 72a].  A programming language,
31600	SAIL[Swinehart], was implemented in 1968.  The language  incorporates
31700	special   features  for  large  real-world-oriented  problem  solving
31800	systems  and  is  currently  in  use  at  a  number   of   Artificial
31900	Intelligence and other laboratories.
32000	
32100	As  we began to assemble larger and more sophisticated collections of
32200	programs, we felt a need  for  flexible  mechanisms  for  cooperating
32300	sequential  processes.    The resulting monitor and language features
32400	[Feldman & Sproull 1971] have  worked  well  for  us  and  have  been
32500	influential  on  other  projects.      Recently,  we  have  added  an
32600	additional set of features to SAIL  to  facilitate  non-deterministic
32700	and  event-directed  programming[Feldman 1972].   The early reactions
32800	to this work, both within the laboratory and without have  been  very
32900	encouraging.
33000	
33100	We  expect  relatively  little  work  to be needed on further systems
33200	support for basic research.   There will undoubtedly  be  efforts  to
33300	take  advantage of new hardware and of new programming ideas that may
33400	develop in the course of this program.    Almost  all  of  this  work
33500	should be covered by other funding.
33600	
33700	The  development  of  software  for the assembly station will require
33800	more of  our  effort.     The  central-local  computer  configuration
33900	requires  code to be resident in the local computer and in the shared
34000	machine.    The low level programs in the local machine will  not  be
34100	modified  often,  thus  we can assume that a compiler resident in the
34200	central machine will suffice.   The  planning  programs  and  general
34300	vision programs will be resident in the shared system.  There are two
34400	possible configurations for the shared computer system:     A  PDP-10
34500	equivalent  machine  or a software package in ASA Standard Fortran IV
34600	which will run on any sufficiently large machine.    One of the tasks
34700	under this proposal would be to evaluate these two alternatives.
34800	
34900	A major share of the programming research effort will be concentrated
35000	on developing a programming system for automated assembly.  This will
35100	combine  ideas  from  our  past  work  on  languages, representation,
35200	computer graphics and arm control.  We view this task as a branch  of
35300	the  larger  effort on automatic programming being undertaken in this
35400	laboratory and elsewhere.
35500	
     

00100			TIMETABLE
00200	
00300	
00400	
00500	
00600	The full program is designed for a four year  period,  including  the
00700	initial one year program proposed here.  We will set up the timetable
00800	only for the one year grant  period.   During  that  period  we  will
00900	accomplish the following:
01000	
01100		interface the second arm and develop two arm software;
01200	
01300		transfer arm software and hardware to the PDP-11;
01400	
01500		interface improved touch and force feedback for the arms;
01600	
01700		extend our library of vision primitives and perform several
01800		visual feedback experiments to test their utility;
01900	
02000		begin the vision language;
02100	
02200		perform an assembly task (possibly assembly of a 
02300		two stroke engine) to aid in development of our system;
02400	
02500	
02600	
02700	For the following timetable, we assume the project to begin in September,
02800	1973. 
02900	
03000	
03100	Month
03200	1 begin transferring arm hardware to PDP-11; begin development of new
03300		visual feedback modules;
03400	2 Second arm operational; begin on two arm software
03500	3
03600	4 use of visual feedback for inserting screws into holes
03700	5
03800	6  force sensing wrist operational; two arm software initially usable
03900	7
04000	8  system software for minicomputer usable;
04100	   begin combining vision with hand language
04200	9
04300	10 completion of transfer of arm control software to PDP-11
04400	11 completion of demonstration of assembly task
04500	12 improved touch sensing
     

00100	III. UTILIZATION PLAN-DISSEMINATION  OF  RESULTS  AND  RELATION  WITH
00200	INDUSTRY
00300	
00400	
00500	There are several other efforts, at varying levels of sophistication,
00600	in the area of computer controlled advanced automation.  The Stanford
00700	Artificial Intelligence Laboratory is the oldest and largest of these
00800	and  has  provided  the  cutting  edge  of much of he development. We
00900	intend to continue this role and to lead  in  the  development  of  a
01000	practical   general   purpose  assembly  system  and  the  associated
01100	software.
01200	
01300	All of the discoveries made under this grant will, of course, be made
01400	public.    We view our role in information transfer in a much broader
01500	way.  Having no desire to sell products and services and  no  clients
01600	with   interests  to  protect,  a  university  laboratory  should  be
01700	primarily a place for acquiring and spreading knowledge.
01800	
01900	The Stanford Artificial Intelligence Laboratory has always considered
02000	information transfer to be one of its primary goals.  In addition, to
02100	our published papers and reports, we  have  made  a  number  of  film
02200	reports  which  have  been  extensively  circulated.  There have been
02300	thousands of visitors, ranging  from  elementary  school  classes  to
02400	major  scientific,  governmental  and  industrial  missions from many
02500	countries. We have also encouraged extended visits  by  workers  from
02600	other laboratories and from industry. Members of the laboratory staff
02700	have played a major role in the organization of journals, conferences
02800	and seminars in artificial intelligence.   Many  of  our  algorithms,
02900	systems,  and hardware designs have been adopted by other groups. Our
03000	students are an important contribution to information transfer.
03100	
03200	We have close contacts with SRI (several former students are employed
03300	there) and with Draper Lab, MIT.  These laboratories, with industrial
03400	participants in their research programs, provide  the  right  setting
03500	for  transfer  to  industry.  We have close contact with the computer
03600	science group at GM Research Labs.
03700	
03800	A development of consierable  interest  is  that  five  groups  doing
03900	similar  research  have chosen the PDP-11 as a research minicomputer.
04000	We will have immediate relevance to members of  this  informal  robot
04100	user's  group.  Our programs will be usable by members and any others
04200	who  acquire  the  PDP-11.   It  would  be  advantageous  for  future
04300	purchases  of  minicomputers  for  automation  research, that they be
04400	compatible with this group.  Our efforts are exportable in a  further
04500	sense;  the  arm servo and planning programs are applicable to a wide
04600	range of arms, to the Unimate in particular.
04700	
04800	The  success  of  the  program  proposed  here  depends  heavily   on
04900	interaction  with  industry.   We will need additional information on
05000	the opportunities for automation and will try to involve manfacturers
05100	in  the  development  of  the  pilot assembly station.   We have good
05200	working relationships with a number of firms and  we  expect  that  a
05300	concrete project will help forge the bonds necessary for the transfer
05400	of advanced automation technology from  the  laboratory.  During  the
05500	initial  proposed  grant period, we intend to negotiate a cooperative
05600	relation with one or more firms.
05700	
05800	One promising approach to technology transfer is a  staff  associates
05900	program.    This involves residence of about a year's duration at the
06000	laboratory by industrial  scientists.     Such  a  program  was  used
06100	successfully at the MIT, Electronic's Research Laboratory in the area
06200	of programming systems for numerically controlled  tools  and  design
06300	automation.     We have initiated a similar program in the laboratory
06400	(cf Appendix A) and are pursuing additional forms of cooperation.
     

00100				Appendix A
00200	
00300		The  Stanford  A.I.  Lab  has  been  engaged  in  research on
00400	advanced automation technology.  Our work has progressed to the stage
00500	where  we  are  seriously  engaged  in  developing  and disseminating
00600	practical applications.   To do this effectively, we  will  need  the
00700	help  of industrial organizations with computer sophistication and an
00800	understanding of practical problems.  One form of  cooperation  which
00900	we  are  engaged in is a staff associates program.  A staff associate
01000	is a member of another organization in residence at the A.I. Lab.  We
01100	have  had  a  number  of staff associates over the years, mostly from
01200	foreign countries. The enclosed letter from Japan is typical  of  the
01300	inquiries  we receive.  The purpose of the new program is to invite a
01400	few domestic inductrial organizations to submit  candidates  for  the
01500	staff associates positions.
01600	
01700		We  expect  to be able to have three to five staff associates
01800	in the laboratory at a time.  The associate would remain for about  a
01900	year and would be paid by his sponsoring organization.  He would be a
02000	regular  member  of  the  laboratory  staff,  working  on  automation
02100	problems.
02200	
02300		There  are,  of  course,  academic programs at Stanford which
02400	could also involve work at  the  Artificial  Intelligence  Lab.   The
02500	staff  associate  program  differs in that the selection criteria are
02600	different, the timing more flexible, and the expected time devoted to
02700	course  work  much  less.   We  believe that it is the most effective
02800	mechanism for us to learn from and help industrial  practitioners  of
02900	computer-aided advanced automation.
03000	
03100	
03200				Jerome A. Feldman